Real time multimedia content is typically delivered over a distribution network to devices for rendering. For example, the real time content may be organized into content channels that are delivered over the network. Each content channel comprises a “flow” which may include video, audio, closed captioning, overlay information and any other suitable information for rendering on a device. Rendering logic, such as multimedia players and associated hardware and software at the device operate to process the received channels, perform any necessary decoding, descrambling, filtering, transformations, and any other processes necessary to render the content at the device.
Typically, devices are able to switch between received content channels at the request of the device user. For example, a device user may switch between news and entertainment channels by navigating a programming guide and selecting the desired programming. When channel changes are requested, it is desirable that the change occurs very quickly. Otherwise, the device user may experience a long delay, blank screen, distorted images or other undesirable effects.
Most real-time services employ conditional access systems, e.g., encrypting content with a control word (CW) (short term key) to allow only legitimate users to access the content. In order to decrypt the content, an entitlement control message (ECM) is sent that contains the control word that can be used to decrypt the content. Typically, the ECM is delivered in band with the content. The control word may itself be encrypted with a long term key that is provided to devices in an entitlement management message (EMM) when a device purchases or subscribes to receive content. When a device user changes content channels it is desirable to render the new content immediately, however, the rendering process may take a few seconds due the acquisition and decrypting of the appropriate keys. As a consequence, a device user will experience a delay in viewing the selected content channel, which may result in an unsatisfactory user experience.
Therefore, what is needed is a mechanism for use on a device to provide fast channel switching between available content channels to reduce or eliminate delays and provide an enhanced user experience.